package net.hands.common.coll;

import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map;
/**
 * 
 * 说明：链表哈希映射容器扩展
 * <br>
 * @author 陈侃(cknet@126.com, 13910090885)
 *         http://code.google.com/p/simpleframework/
 *         http://www.simpleframework.net
 */
public class LRUMap<K, V> extends LinkedHashMap<K, V> implements Serializable {
   /**
    * 
    * 最大条数
    */
	private final int maxEntries;
	/**
    * 链表容器初始
   * Constructor Method  
   * @update 2012-8-7 上午9:42:11  
   * @param maxEntries 初始容量
    */
	public LRUMap(final int maxEntries) {
		super(maxEntries, .75f, true);
		this.maxEntries = maxEntries;
	}
   /**
    * 
   (non-Javadoc)  
   * @see java.util.LinkedHashMap#removeEldestEntry(java.util.Map.Entry)  
   * @update 2012-9-20 上午11:50:26
    */
	@Override
	protected boolean removeEldestEntry(final Map.Entry<K, V> eldest) {
		return (size() > maxEntries);
	}

	private static final long serialVersionUID = -4468453950954557286L;
}
